Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/net/cisco/cisco_nexus_9000_series_snmp

Cisco Nexus 9000 Series by SNMP

Overview

This template is designed to monitor Cisco Nexus 9000 Series Switches.

See Cisco support documentation for details.

Requirements

Zabbix version: 7.2 and higher.

Tested versions

This template has been tested on:

  • Cisco Nexus 93180YC-FX3 NX-OS 9.3.7

Configuration

Zabbix should be configured according to the instructions in the Templates out of the box section.

Setup

Refer to the vendor documentation for details.

Macros used

Name Description Default
{$CPU.UTIL.CRIT} 90
{$ICMP_LOSS_WARN} 20
{$ICMP_RESPONSE_TIME_WARN} 0.15
{$IF.ERRORS.WARN} 2
{$IF.UTIL.MAX} 90
{$IFCONTROL} 1
{$MEMORY.UTIL.MAX} 90
{$NET.IF.IFADMINSTATUS.MATCHES} ^.*
{$NET.IF.IFADMINSTATUS.NOT_MATCHES}

If the administrative status is down (2), then an interface is excluded.

^2$
{$NET.IF.IFALIAS.MATCHES} .*
{$NET.IF.IFALIAS.NOT_MATCHES} CHANGE_IF_NEEDED
{$CISCO.LLD.FILTER.FAN.NAME.MATCHES}

It leaves only the matching fan names as indicated in the filter string.

^(?:Fan Module-\d+|PowerSupply-\d+ Fan-\d+)$
{$CISCO.LLD.FILTER.PSU.NAME.MATCHES}

It leaves only the matching power supply names as indicated in the filter string.

^(?:PowerSupply-\d+)$
{$NET.IF.IFDESCR.MATCHES} .*
{$NET.IF.IFDESCR.NOT_MATCHES} CHANGE_IF_NEEDED
{$NET.IF.IFNAME.MATCHES} ^.*$
{$NET.IF.IFNAME.NOT_MATCHES}

It filters out loopbacks, nulls, docker veth links and docker0 bridge by default.

Macro too long. Please see the template.
{$NET.IF.IFOPERSTATUS.MATCHES} ^.*$
{$NET.IF.IFOPERSTATUS.NOT_MATCHES}

If the operational status is notPresent (6), then an interface is excluded.

^6$
{$NET.IF.IFTYPE.MATCHES} .*
{$NET.IF.IFTYPE.NOT_MATCHES} CHANGE_IF_NEEDED
{$SNMP.TIMEOUT} 5m
{$TEMP_WARN:regex:"BACK"} 42
{$TEMP_CRIT:regex:"BACK"} 70
{$TEMP_WARN:regex:"FRONT"} 70
{$TEMP_CRIT:regex:"FRONT"} 80
{$TEMP_WARN:regex:"CPU"} 80
{$TEMP_CRIT:regex:"CPU"} 90
{$TEMP_WARN:regex:"SUN1"} 90
{$TEMP_CRIT:regex:"SUN1"} 110
{$TEMP_WARN:regex:"Transceiver"} 70
{$TEMP_CRIT:regex:"Transceiver"} 75
{$TEMP_CRIT_LOW} 5
{$TEMP_WARN} 50
{$TEMP_CRIT} 60
{$ENT_CLASS.NOT_MATCHES}

The filter excludes chassis (3) class from Serial discovery. The chassis (3) are polled with a regular item.

3
{$ENT_SN.MATCHES}

The filter retrieves only existing serial number strings.

.+
{$PSU.PROBLEM.STATES}

The PSU states list for average trigger priority.

^(1|4|5|6|7|9|10|11|12)$

Items

Name Description Type Key and additional info
ICMP ping Simple check icmpping
ICMP loss Simple check icmppingloss
ICMP response time Simple check icmppingsec
SNMP traps (fallback)

The item is used to collect all the SNMP traps unmatched by the other snmptrap items.

SNMP trap snmptrap.fallback
System contact details

MIB: SNMPv2-MIB.

The textual identification of the contact person for the managed node (or: this node), together with the contact information of this person. If no contact information is known, the value is a zero-length string.

SNMP agent system.contact

Preprocessing

  • Discard unchanged with heartbeat: 1d

System description

MIB: SNMPv2-MIB.

The textual description of the entity. This value should include the full name and version identification number of the system's hardware type, software operating-system, and the networking software.

SNMP agent system.descr

Preprocessing

  • Discard unchanged with heartbeat: 1d

Hardware model name

MIB: ENTITY-MIB.

SNMP agent system.hw.model

Preprocessing

  • Discard unchanged with heartbeat: 1d

Hardware serial number

MIB: ENTITY-MIB.

SNMP agent system.hw.serialnumber

Preprocessing

  • Discard unchanged with heartbeat: 1d

System location

MIB: SNMPv2-MIB.

The physical location of this node (e.g., telephone closet, the third floor).

If the location is unknown, the value is a zero-length string.

SNMP agent system.location

Preprocessing

  • Discard unchanged with heartbeat: 1h

System name

MIB: SNMPv2-MIB.

The administratively-assigned name for this node. By convention, this is the node's fully-qualified domain name. If the name is unknown, the value is a zero-length string.

SNMP agent system.name

Preprocessing

  • Discard unchanged with heartbeat: 1h

System object ID

MIB: SNMPv2-MIB.

The vendor's authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprise's subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining "what kind of box" is being managed.

For example, if the vendor "Flintstones, Inc." was assigned the subtree 1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its "Fred Router".

SNMP agent system.objectid

Preprocessing

  • Discard unchanged with heartbeat: 1h

Operating system

MIB: CISCO-IMAGE-MIB

SNMP agent system.sw.os

Preprocessing

  • Regular expression: CW_VERSION\$(.*?)\$ \1

  • Discard unchanged with heartbeat: 1d

Uptime (snmp)

MIB: SNMP-FRAMEWORK-MIB::snmpEngineTime.

The number of seconds since the value of the snmpEngineBoots object has had a last change.

When incrementing this object's value would cause it to exceed its maximum, the snmpEngineBoots is incremented as if a re-initialization had occurred,

and this object's value consequently reverts to zero.

SNMP agent system.uptime
SNMP agent availability Zabbix internal zabbix[host,snmp,available]

Triggers

Name Description Expression Severity Dependencies and additional info
Unavailable by ICMP ping

The last three attempts returned a timeout. Check the connectivity of a device.

max(/Cisco Nexus 9000 Series by SNMP/icmpping,#3)=0 High
High ICMP ping loss min(/Cisco Nexus 9000 Series by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/Cisco Nexus 9000 Series by SNMP/icmppingloss,5m)<100 Warning Depends on:
  • Unavailable by ICMP ping
High ICMP ping response time avg(/Cisco Nexus 9000 Series by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN} Warning Depends on:
  • High ICMP ping loss
  • Unavailable by ICMP ping
Device has been replaced

The serial number of a device has changed. Acknowledge to close the problem manually.

change(/Cisco Nexus 9000 Series by SNMP/system.hw.serialnumber)=1 and length(last(/Cisco Nexus 9000 Series by SNMP/system.hw.serialnumber))>0 Info Manual close: Yes
System name has changed

The system name has changed. Acknowledge to close the problem manually.

change(/Cisco Nexus 9000 Series by SNMP/system.name)=1 and length(last(/Cisco Nexus 9000 Series by SNMP/system.name))>0 Info Manual close: Yes
Operating system description has changed

The description of the operating system has changed. Possible reasons that system has been updated or replaced. Acknowledge to close the problem manually.

change(/Cisco Nexus 9000 Series by SNMP/system.sw.os)=1 and length(last(/Cisco Nexus 9000 Series by SNMP/system.sw.os))>0 Info Manual close: Yes
Depends on:
  • System name has changed
Device has been restarted or reinitialized

The record of SNMP Boots has changed in less than 10 minutes. The restart of a device also counts.

last(/Cisco Nexus 9000 Series by SNMP/system.uptime)<10m Warning Manual close: Yes
No SNMP data collection

SNMP is not available for polling. Check the connectivity of a device and SNMP settings.

max(/Cisco Nexus 9000 Series by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0 Warning

LLD rule CPU discovery

Name Description Type Key and additional info
CPU discovery

You must use CISCO-PROCESS-MIB and its object cpmCPUTotal5minRev from the table called cpmCPUTotalTable, and indexed with cpmCPUTotalPhysicalIndex.

The table cpmCPUTotalTable allows CISCO-PROCESS-MIB to keep the CPU statistics for different physical entities in the router, such as different CPU chips, a group of CPUs, or CPUs in different modules/cards.

In the case of a single CPU, the cpmCPUTotalTable has only one entry.

SNMP agent cpu.discovery

Preprocessing

  • Discard unchanged with heartbeat: 4h

Item prototypes for CPU discovery

Name Description Type Key and additional info
#{#SNMPINDEX}: CPU utilization

MIB: CISCO-PROCESS-MIB

The object name: cpmCPUTotal5minRev

The MIB object cpmCPUTotal5minRev provides a more accurate view of the performance of the router over time than the MIB objects cpmCPUTotal1minRev and cpmCPUTotal5secRev. These MIB objects are not accurate because they look at the CPU with an interval of one minute and five seconds, respectively. These MIBs enable to monitor the trends and plan the capacity of your network. The recommended baseline rising threshold for the cpmCPUTotal5minRev is 90 percent. Depending on the platform, some routers that run at 90 percent, for example, 2500 series can exhibit performance degradation versus a high-end router, for example, the 7500 series, which can operate fine.

SNMP agent system.cpu.util[{#SNMPINDEX}]

Trigger prototypes for CPU discovery

Name Description Expression Severity Dependencies and additional info
#{#SNMPINDEX}: High CPU utilization

The CPU utilization is too high. The system might be slow to respond.

min(/Cisco Nexus 9000 Series by SNMP/system.cpu.util[{#SNMPINDEX}],5m)>{$CPU.UTIL.CRIT} Warning

LLD rule Entity serial numbers discovery

Name Description Type Key and additional info
Entity serial numbers discovery

The discovery of serial numbers of the entities from ENTITY-MIB.

SNMP agent entity_sn.discovery

Preprocessing

  • Discard unchanged with heartbeat: 4h

Item prototypes for Entity serial numbers discovery

Name Description Type Key and additional info
{#ENT_NAME}: Hardware serial number

MIB: ENTITY-MIB.

The object name: entPhysicalSerialNum.

The vendor-specific serial number string for the physical entity. The preferred value is the serial number string actually printed on the component itself (if present).

SNMP agent system.hw.serialnumber[{#SNMPINDEX}]

Preprocessing

  • Discard unchanged with heartbeat: 1d

Trigger prototypes for Entity serial numbers discovery

Name Description Expression Severity Dependencies and additional info
{#ENT_NAME}: Device has been replaced

The device serial number has changed. Acknowledge to close the problem manually.

change(/Cisco Nexus 9000 Series by SNMP/system.hw.serialnumber[{#SNMPINDEX}])=1 and length(last(/Cisco Nexus 9000 Series by SNMP/system.hw.serialnumber[{#SNMPINDEX}]))>0 Info Manual close: Yes

LLD rule Fan status discovery

Name Description Type Key and additional info
Fan status discovery

The discovery of metrics for the fan's status from ENTITY-MIB and CISCO-ENTITY-FRU-CONTROL-MIB.

SNMP agent fan.status.discovery

Preprocessing

  • Discard unchanged with heartbeat: 4h

Item prototypes for Fan status discovery

Name Description Type Key and additional info
{#SNMPVALUE}: Fan operational status

MIB: CISCO-ENTITY-FRU-CONTROL-MIB.

The object name: cefcFanTrayOperStatus.

The operational state of the fan or a fan tray.

Possible values:

- unknown (1) - unknown;

- up (2) - powered on;

- down (3) - powered down;

- warning (4) - partial failure; needs replacement as soon as possible.

SNMP agent sensor.fan.status[{#SNMPINDEX}]

Trigger prototypes for Fan status discovery

Name Description Expression Severity Dependencies and additional info
{#SNMPVALUE}: Fan is down

The fan unit requires immediate attention.

last(/Cisco Nexus 9000 Series by SNMP/sensor.fan.status[{#SNMPINDEX}])=3 Average
{#SNMPVALUE}: Fan is in warning state

The fan unit requires attention.

last(/Cisco Nexus 9000 Series by SNMP/sensor.fan.status[{#SNMPINDEX}])=4 Warning Depends on:
  • {#SNMPVALUE}: Fan is down
{#SNMPVALUE}: Fan is in unknown state

The fan unit requires attention.

last(/Cisco Nexus 9000 Series by SNMP/sensor.fan.status[{#SNMPINDEX}])=1 Info Depends on:
  • {#SNMPVALUE}: Fan is down

LLD rule Memory discovery

Name Description Type Key and additional info
Memory discovery

The discovery of ciscoMemoryPoolTable - the table that contains monitoring entries of the memory pool.

For more details see "How to Get Free and Largest Block of Contiguous Memory Using SNMP":

http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15216-contiguous-memory.html

SNMP agent memory.discovery

Preprocessing

  • Discard unchanged with heartbeat: 4h

Item prototypes for Memory discovery

Name Description Type Key and additional info
{#SNMPVALUE}: Free memory

MIB: CISCO-ENHANCED-MEMPOOL-MIB.

The object name: cempMemPoolFree.

It indicates the number of bytes from the memory pool that are currently unused on the physical entity.

SNMP agent vm.memory.free[{#SNMPINDEX}]
{#SNMPVALUE}: Used memory

MIB: CISCO-ENHANCED-MEMPOOL-MIB.

The object name: cempMemPoolUsed.

It indicates the number of bytes from the memory pool that are currently in use by applications on the physical entity.

SNMP agent vm.memory.used[{#SNMPINDEX}]
{#SNMPVALUE}: Memory utilization

The memory utilization expressed in %.

Calculated vm.memory.util[{#SNMPINDEX}]

Trigger prototypes for Memory discovery

Name Description Expression Severity Dependencies and additional info
{#SNMPVALUE}: High memory utilization

The system is running out of free memory.

min(/Cisco Nexus 9000 Series by SNMP/vm.memory.util[{#SNMPINDEX}],5m)>{$MEMORY.UTIL.MAX} Average

LLD rule Network interfaces discovery

Name Description Type Key and additional info
Network interfaces discovery

The discovery of interfaces from IF-MIB.

SNMP agent net.if.discovery

Preprocessing

  • Discard unchanged with heartbeat: 4h

Item prototypes for Network interfaces discovery

Name Description Type Key and additional info
Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded

MIB: IF-MIB.

The number of inbound packets, which were chosen to be discarded even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.

One possible reason for discarding such a packet could be the necessity to free up the buffer space.

Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the ifCounterDiscontinuityTime.

SNMP agent net.if.in.discards[{#SNMPINDEX}]

Preprocessing

  • Change per second:
Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors

MIB: IF-MIB.

For packet-oriented interfaces, the number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.

For character-oriented or fixed-length interfaces, the number of inbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol.

Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the ifCounterDiscontinuityTime.

SNMP agent net.if.in.errors[{#SNMPINDEX}]

Preprocessing

  • Change per second:
Interface {#IFNAME}({#IFALIAS}): Bits received

MIB: IF-MIB.

The total number of octets received on the interface, including framing characters. This object is a 64-bit version of ifInOctets.

Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the ifCounterDiscontinuityTime.

SNMP agent net.if.in[{#SNMPINDEX}]

Preprocessing

  • Change per second:
  • Custom multiplier: 8

Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded

MIB: IF-MIB.

The number of outbound packets, which were chosen to be discarded, even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.

One possible reason for discarding such a packet could be to free up buffer space.

Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the ifCounterDiscontinuityTime.

SNMP agent net.if.out.discards[{#SNMPINDEX}]

Preprocessing

  • Change per second:
Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors

MIB: IF-MIB.

For packet-oriented interfaces, the number of outbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.

For character-oriented or fixed-length interfaces, the number of outbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol.

Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the ifCounterDiscontinuityTime.

SNMP agent net.if.out.errors[{#SNMPINDEX}]

Preprocessing

  • Change per second:
Interface {#IFNAME}({#IFALIAS}): Bits sent

MIB: IF-MIB.

The total number of octets transmitted out of the interface, including framing characters. This object is a 64-bit version of the ifOutOctets.

Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the ifCounterDiscontinuityTime.

SNMP agent net.if.out[{#SNMPINDEX}]

Preprocessing

  • Change per second:
  • Custom multiplier: 8

Interface {#IFNAME}({#IFALIAS}): Speed

MIB: IF-MIB.

An estimate of the interface's current bandwidth in units of 1,000,000 bits per second. If this object reports a value of "n", then the speed of the interface is somewhere in the range from n-500,000 to n+499,999.

For the interfaces, which do not vary in bandwidth or for those where no accurate estimation can be made, this object should contain the nominal bandwidth.

For a sub-layer, which has no concept of bandwidth, this object should be zero.

SNMP agent net.if.speed[{#SNMPINDEX}]

Preprocessing

  • Custom multiplier: 1000000

  • Discard unchanged with heartbeat: 1h

Interface {#IFNAME}({#IFALIAS}): Operational status

MIB: IF-MIB.

The current operational state of the interface:

- The testing (3) state indicates that no operational packet scan be passed.

- If ifAdminStatus is down (2), then ifOperStatus should be down (2).

- If ifAdminStatus is changed to up (1), then ifOperStatus should change to up (1), provided the interface is ready to transmit and receive network traffic.

- It should change to dormant (5) if the interface is waiting for external actions, such as a serial line waiting for an incoming connection.

- It should remain in the down (2) state if and only when there is a fault that prevents it from going to the up (1) state.

- It should remain in the notPresent (6) state if the interface has missing components (typically, hardware).

SNMP agent net.if.status[{#SNMPINDEX}]

Preprocessing

  • Discard unchanged with heartbeat: 6h

Interface {#IFNAME}({#IFALIAS}): Interface type

MIB: IF-MIB.

The type of an interface.

Additional values for ifType are assigned by the Internet Assigned Numbers Authority (IANA)

through updating the syntax of the IANAifType textual convention.

SNMP agent net.if.type[{#SNMPINDEX}]

Preprocessing

  • Discard unchanged with heartbeat: 6h

Trigger prototypes for Network interfaces discovery

Name Description Expression Severity Dependencies and additional info
Interface {#IFNAME}({#IFALIAS}): High input error rate

It recovers when it goes below 80% of the {$IF.ERRORS.WARN:"{#IFNAME}"} threshold.

min(/Cisco Nexus 9000 Series by SNMP/net.if.in.errors[{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} Warning Manual close: Yes
Depends on:
  • Interface {#IFNAME}({#IFALIAS}): Link down
Interface {#IFNAME}({#IFALIAS}): High inbound bandwidth usage

The utilization of the network interface is close to its estimated maximum bandwidth.

(avg(/Cisco Nexus 9000 Series by SNMP/net.if.in[{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Cisco Nexus 9000 Series by SNMP/net.if.speed[{#SNMPINDEX}])) and last(/Cisco Nexus 9000 Series by SNMP/net.if.speed[{#SNMPINDEX}])>0 Warning Manual close: Yes
Depends on:
  • Interface {#IFNAME}({#IFALIAS}): Link down
Interface {#IFNAME}({#IFALIAS}): High output error rate

It recovers when it goes below 80% of the {$IF.ERRORS.WARN:"{#IFNAME}"} threshold.

min(/Cisco Nexus 9000 Series by SNMP/net.if.out.errors[{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} Warning Manual close: Yes
Depends on:
  • Interface {#IFNAME}({#IFALIAS}): Link down
Interface {#IFNAME}({#IFALIAS}): High outbound bandwidth usage

The utilization of the network interface is close to its estimated maximum bandwidth.

(avg(/Cisco Nexus 9000 Series by SNMP/net.if.out[{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Cisco Nexus 9000 Series by SNMP/net.if.speed[{#SNMPINDEX}])) and last(/Cisco Nexus 9000 Series by SNMP/net.if.speed[{#SNMPINDEX}])>0 Warning Manual close: Yes
Depends on:
  • Interface {#IFNAME}({#IFALIAS}): Link down
Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before

This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of issues with autonegotiation. Acknowledge to close the problem manually.

change(/Cisco Nexus 9000 Series by SNMP/net.if.speed[{#SNMPINDEX}])<0 and last(/Cisco Nexus 9000 Series by SNMP/net.if.speed[{#SNMPINDEX}])>0 and find(/Cisco Nexus 9000 Series by SNMP/net.if.type[{#SNMPINDEX}],#1,"regexp","^(6|7|11|62|69|117)$") and last(/Cisco Nexus 9000 Series by SNMP/net.if.status[{#SNMPINDEX}])<>2 Info Manual close: Yes
Depends on:
  • Interface {#IFNAME}({#IFALIAS}): Link down
Interface {#IFNAME}({#IFALIAS}): Link down

This trigger expression works as follows:
1. It can be triggered if the operations status is down.
2. Use $IFCONTROL macro with context "{#IFNAME}" to void trigger firing on specific interfaces. Values:
- 0 : Marks an interface as not important. Trigger does not fire when interface is down.
- 1 : Default value to fire the trigger when interface is down
3. change(//net.if.status[{#IFNAME}]) - condition prevents firing of trigger if status did not change. It helps in cases, when interfaces were initially down.
BEWARE, manual close will ceasefire until at least two status changes happens again!

{$IFCONTROL:"{#IFNAME}"}=1 and last(/Cisco Nexus 9000 Series by SNMP/net.if.status[{#SNMPINDEX}])=2 and change(/Cisco Nexus 9000 Series by SNMP/net.if.status[{#SNMPINDEX}]) Average Manual close: Yes

LLD rule EtherLike discovery

Name Description Type Key and additional info
EtherLike discovery

The discovery of interfaces from IF-MIB and EtherLike-MIB. The interfaces that have up (1) operational status are discovered.

SNMP agent net.if.duplex.discovery

Preprocessing

  • JavaScript: The text is too long. Please see the template.

  • Discard unchanged with heartbeat: 4h

Item prototypes for EtherLike discovery

Name Description Type Key and additional info
Interface {#IFNAME}({#IFALIAS}): Duplex status

MIB: EtherLike-MIB.

The object name: dot3StatsDuplexStatus.

The current mode of operation of the MAC entity 'unknown' indicates that the current duplex mode could not be determined.

The management control of the duplex mode is accomplished through the MAU MIB.

When the interface does not support autonegotiation, or when autonegotiation is not enabled, the duplex mode is controlled using ifMauDefaultType.

When autonegotiation is supported and enabled, duplex mode is controlled using ifMauAutoNegAdvertisedBits.

In either case, the currently operating duplex mode is reflected in both: in this object and in ifMauType.

Note that this object provides redundant information with ifMauType.

Normally, redundant objects are discouraged.

However, in this instance, it allows the management application to determine the duplex status of an interface without having to know every possible value of ifMauType.

This was felt to be sufficiently valuable to justify the redundancy.

For the reference see: [IEEE 802.3 Std.], 30.3.1.1.32, aDuplexStatus.

SNMP agent net.if.duplex[{#SNMPINDEX}]

Trigger prototypes for EtherLike discovery

Name Description Expression Severity Dependencies and additional info
Interface {#IFNAME}({#IFALIAS}): In half-duplex mode

Check the autonegotiation settings and cabling.

last(/Cisco Nexus 9000 Series by SNMP/net.if.duplex[{#SNMPINDEX}])=2 Warning Manual close: Yes

LLD rule PSU discovery

Name Description Type Key and additional info
PSU discovery

The discovery of power supplies from ENTITY-MIB and CISCO-ENTITY-FRU-CONTROL-MIB.

SNMP agent psu.discovery

Preprocessing

  • Discard unchanged with heartbeat: 4h

Item prototypes for PSU discovery

Name Description Type Key and additional info
{#SNMPVALUE}: Power supply status

MIB: CISCO-ENTITY-FRU-CONTROL-MIB.

The object name: cefcFRUPowerOperStatus.

The Operational field-replaceable unit (FRU) Status types.

The valid values are:

- offEnvOther (1): FRU is powered off because of a problem not listed below;

- on (2): FRU is powered on;

- offAdmin (3): administratively off;

- offDenied (4): FRU is powered off because available system power is insufficient;

- offEnvPower (5): FRU is powered off because of a power problem in the FRU. For example, the FRU's power translation (DC-DC converter) or distribution failed;

- offEnvTemp (6): FRU is powered off because of temperature problem;

- offEnvFan (7): FRU is powered off because of fan problems;

- failed (8): FRU is in failed state;

- onButFanFail (9): FRU is on but fan has failed;

- offCooling (10): FRU is powered off because of the system's insufficient cooling capacity;

- offConnectorRating (11): FRU is powered off because of the system's connector rating exceeded;

- onButInlinePowerFail (12): The FRU is on but no inline power is being delivered as the data/inline power component of the FRU has failed.

SNMP agent sensor.psu.status[{#SNMPINDEX}]

Trigger prototypes for PSU discovery

Name Description Expression Severity Dependencies and additional info
{#SNMPVALUE}: PSU is off or out of optimal state

The PSU requires attention. Compare the current state from operational data with the table below:
- offEnvOther (1): FRU is powered off because of a problem not listed below;
- on (2): FRU is powered on;
- offAdmin (3): administratively off;
- offDenied (4): FRU is powered off because available system power is insufficient;
- offEnvPower (5): FRU is powered off because of a power problem in the FRU. For example, the FRU's power translation (DC-DC converter) or distribution failed;
- offEnvTemp (6): FRU is powered off because of temperature problem;
- offEnvFan (7): FRU is powered off because of fan problems;
- failed (8): FRU is in failed state;
- onButFanFail (9): FRU is on but fan has failed;
- offCooling (10): FRU is powered off because of the system's insufficient cooling capacity;
- offConnectorRating (11): FRU is powered off because of the system's connector rating exceeded;
- onButInlinePowerFail (12): The FRU is on but no inline power is being delivered as the data/inline power component of the FRU has failed.

find(/Cisco Nexus 9000 Series by SNMP/sensor.psu.status[{#SNMPINDEX}],#1,"regexp",{$PSU.PROBLEM.STATES}) Average Depends on:
  • {#SNMPVALUE}: PSU is in failed state
{#SNMPVALUE}: PSU is off: Administratively

The FRU is administratively off.

last(/Cisco Nexus 9000 Series by SNMP/sensor.psu.status[{#SNMPINDEX}])=3 Info Depends on:
  • {#SNMPVALUE}: PSU is in failed state
{#SNMPVALUE}: PSU is in failed state

The FRU is in a failed state.

last(/Cisco Nexus 9000 Series by SNMP/sensor.psu.status[{#SNMPINDEX}])=8 High

LLD rule Temperature sensors discovery

Name Description Type Key and additional info
Temperature sensors discovery

The discovery of temperature sensors from CISCO-ENTITY-SENSOR-MIB and ENTITY-MIB. The sensors that have celsius (8) entSensorType are discovered. The scale of gathered values is taken from the entSensorScale and applied in item preprocessing.

SNMP agent temperature.discovery

Preprocessing

  • JavaScript: The text is too long. Please see the template.

  • Discard unchanged with heartbeat: 4h

Item prototypes for Temperature sensors discovery

Name Description Type Key and additional info
{#SNMPVALUE}: Temperature sensor status

MIB: CISCO-ENTITY-SENSOR-MIB.

The object name: entSensorStatus.

This variable indicates the present operational status of the sensor.

Possible values:

- ok (1): means the agent can read the sensor value;

- unavailable (2): means that the agent presently can not report the sensor value;

- nonoperational (3) means that the agent believes the sensor is broken. The sensor could have a hard failure (e.g., disconnected wire), or a soft failure (e.g., out-of-range, jittery, or wildly fluctuating readings).

SNMP agent sensor.temp.status[{#SNMPINDEX}]
{#SNMPVALUE}: Temperature

MIB: CISCO-ENTITY-SENSOR-MIB.

The object name: entSensorValue.

This variable reports the most recent measurement seen by the sensor.

SNMP agent sensor.temp.value[{#SNMPINDEX}]

Preprocessing

  • Custom multiplier: {#SENSOR_SCALE}

Trigger prototypes for Temperature sensors discovery

Name Description Expression Severity Dependencies and additional info
{#SNMPVALUE}: Temperature sensor is not operational

It means that the agent considers that the sensor is broken. The sensor could have a hard failure (e.g., disconnected wire), or a soft failure (e.g., out-of-range, jittery, or wildly fluctuating readings).

last(/Cisco Nexus 9000 Series by SNMP/sensor.temp.status[{#SNMPINDEX}])=3 High
{#SNMPVALUE}: Temperature sensor is not available

It means that the agent presently can not report the sensor value.

last(/Cisco Nexus 9000 Series by SNMP/sensor.temp.status[{#SNMPINDEX}])=2 Warning
{#SNMPVALUE}: Temperature is above critical threshold

This trigger uses the values of the temperature sensor.

avg(/Cisco Nexus 9000 Series by SNMP/sensor.temp.value[{#SNMPINDEX}],5m)>{$TEMP_CRIT:"{#SNMPVALUE}"} High
{#SNMPVALUE}: Temperature is above warning threshold

This trigger uses the values of the temperature sensor.

avg(/Cisco Nexus 9000 Series by SNMP/sensor.temp.value[{#SNMPINDEX}],5m)>{$TEMP_WARN:"{#SNMPVALUE}"} Warning Depends on:
  • {#SNMPVALUE}: Temperature is above critical threshold
{#SNMPVALUE}: Temperature is too low avg(/Cisco Nexus 9000 Series by SNMP/sensor.temp.value[{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"{#SNMPVALUE}"} Average

Feedback

Please report any issues with the template at https://support.zabbix.com

You can also provide feedback, discuss the template, or ask for help at ZABBIX forums

Articles and documentation

+ Propose new article

Didn't find what you are looking for?